package org.nfIt.entity;

import com.fasterxml.jackson.annotation.JsonFormat;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;

@Data
@NoArgsConstructor
@AllArgsConstructor
public class Category {
    @NotNull(groups = update.class)//必须要传
    private Integer id;//主键ID
    @NotEmpty(groups = {Add.class, update.class})//添加和修改 必须要传,并且不可是空字符串
    private String categoryName;//分类名称
    @NotEmpty(groups = {Add.class, update.class})
    private String categoryAlias;//分类别名
    private Integer createUser;//创建人ID
    @JsonFormat(pattern = "yyyy年MM月dd日 HH时mm分ss秒") //时间格式转换
    private LocalDateTime createTime;//创建时间
    @JsonFormat(pattern = "yyyy年MM月dd日 HH时mm分ss秒") //时间格式转换
    private LocalDateTime updateTime;//更新时间


    //如果说某个校验项没有指定分组，默认属于Default分组
    // 分组之间可以继承，AextendsB那么A中拥有B中所有的校验项
//    public interface Add extends Default {
//
//    }
//
//    //更新分组
//    public interface update extends Default{
//
//    }




    //@Validated注解中使用添加分组
    public interface Add {

    }

    //更新分组
    public interface update {

    }

}
